#!/bin/sh
# drop extra drivers et al, purge kernel image(s)

# xorg-dri-*
if [ "$GLOBAL_INSTALL2_CLEANUP_DRI" = 'yes' ]; then
	rm -r /usr/lib*/X11/modules/dri
fi

# no movies during installation so far
rm -rf /usr/lib*/vdpau/ /usr/lib*/libXv*

# evms modules; see http://evms.sourceforge.net/user_guide/
rm -f /lib*/evms/*/{bbr,csm,drivelink,ogfs,replace,snapshot}*

# evms will assemble arrays on its own
rm -f /lib/udev/rules.d/64-md-raid-assembly.rules

# unneeded kernel modules
### some of these removals belong to a purge grade script
### TODO: mostly scsi-less and net-less cleanup for antique

## dynamic part
if [ -n "$GLOBAL_INSTALL2_CLEANUP_KDRIVERS" ]; then
	for i in $GLOBAL_INSTALL2_CLEANUP_KDRIVERS; do
		rm -rf /lib/modules/*/"$i"
	done
fi

## static part
rm -rf /lib/modules/*/kernel/drivers/atm
rm -rf /lib/modules/*/kernel/drivers/bluetooth
rm -rf /lib/modules/*/kernel/drivers/char/{ipmi,hw_random,mwave,tpm}
rm -rf /lib/modules/*/kernel/drivers/char/watchdog
rm -rf /lib/modules/*/kernel/drivers/cpufreq
rm -rf /lib/modules/*/kernel/drivers/edac
rm -rf /lib/modules/*/kernel/drivers/gpio
# NB: leave hwmon.ko
rm -rf /lib/modules/*/kernel/drivers/hwmon/[^h]*
rm -rf /lib/modules/*/kernel/drivers/infiniband	###
rm -rf /lib/modules/*/kernel/drivers/input/{gameport,joy*}
rm -rf /lib/modules/*/kernel/drivers/isdn
rm -rf /lib/modules/*/kernel/drivers/leds
# amdgpu require cec and rc
#rm -rf /lib/modules/*/kernel/drivers/media/[^cec]*
rm -rf /lib/modules/*/kernel/drivers/mtd*
rm -rf /lib/modules/*/kernel/drivers/net/can
rm -rf /lib/modules/*/kernel/drivers/net/hamradio
rm -rf /lib/modules/*/kernel/drivers/net/irda
rm -rf /lib/modules/*/kernel/drivers/net/tokenring
rm -rf /lib/modules/*/kernel/drivers/net/wimax
# wi-fi may also need to be configured in the installer
#rm -rf /lib/modules/*/kernel/drivers/net/wireless
rm -rf /lib/modules/*/kernel/drivers/net/wan
rm -rf /lib/modules/*/kernel/drivers/regulator
rm -rf /lib/modules/*/kernel/drivers/staging
rm -rf /lib/modules/*/kernel/drivers/spi
rm -rf /lib/modules/*/kernel/drivers/target
rm -rf /lib/modules/*/kernel/drivers/telephony
rm -rf /lib/modules/*/kernel/drivers/tty/[^s][^e]*
rm -rf /lib/modules/*/kernel/drivers/usb/{atm,c67*,image,misc,mon,otg,serial,wusbcore}
rm -rf /lib/modules/*/kernel/drivers/usb/storage/ums*
rm -rf /lib/modules/*/kernel/drivers/uwb
rm -rf /lib/modules/*/kernel/drivers/w1
rm -rf /lib/modules/*/kernel/drivers/watchdog
rm -rf /lib/modules/*/kernel/fs/9p
rm -rf /lib/modules/*/kernel/fs/adfs
rm -rf /lib/modules/*/kernel/fs/affs
rm -rf /lib/modules/*/kernel/fs/afs
rm -rf /lib/modules/*/kernel/fs/autofs
rm -rf /lib/modules/*/kernel/fs/autofs4
rm -rf /lib/modules/*/kernel/fs/befs
rm -rf /lib/modules/*/kernel/fs/bfs
rm -rf /lib/modules/*/kernel/fs/ceph
rm -rf /lib/modules/*/kernel/fs/cifs
rm -rf /lib/modules/*/kernel/fs/coda
rm -rf /lib/modules/*/kernel/fs/configfs
rm -rf /lib/modules/*/kernel/fs/cramfs
rm -rf /lib/modules/*/kernel/fs/dlm
rm -rf /lib/modules/*/kernel/fs/efs
rm -rf /lib/modules/*/kernel/fs/exofs
rm -rf /lib/modules/*/kernel/fs/freevxfs
rm -rf /lib/modules/*/kernel/fs/fscache
rm -rf /lib/modules/*/kernel/fs/hfs
rm -rf /lib/modules/*/kernel/fs/hfsplus
rm -rf /lib/modules/*/kernel/fs/hpfs
rm -rf /lib/modules/*/kernel/fs/jffs
rm -rf /lib/modules/*/kernel/fs/jffs2
rm -rf /lib/modules/*/kernel/fs/lockd
rm -rf /lib/modules/*/kernel/fs/logfs
rm -rf /lib/modules/*/kernel/fs/minix
rm -rf /lib/modules/*/kernel/fs/ncpfs
rm -rf /lib/modules/*/kernel/fs/nilfs2
rm -rf /lib/modules/*/kernel/fs/ocfs2
rm -rf /lib/modules/*/kernel/fs/omfs
rm -rf /lib/modules/*/kernel/fs/qnx4
rm -rf /lib/modules/*/kernel/fs/romfs
rm -rf /lib/modules/*/kernel/fs/smbfs
rm -rf /lib/modules/*/kernel/fs/sysv
rm -rf /lib/modules/*/kernel/fs/ubifs
rm -rf /lib/modules/*/kernel/fs/udf
rm -rf /lib/modules/*/kernel/fs/ufs
rm -rf /lib/modules/*/kernel/net/*/netfilter
rm -rf /lib/modules/*/kernel/net/9p
rm -rf /lib/modules/*/kernel/net/appletalk
rm -rf /lib/modules/*/kernel/net/atm
rm -rf /lib/modules/*/kernel/net/ax25
rm -rf /lib/modules/*/kernel/net/can
rm -rf /lib/modules/*/kernel/net/ceph
rm -rf /lib/modules/*/kernel/net/bluetooth
rm -rf /lib/modules/*/kernel/net/dccp
rm -rf /lib/modules/*/kernel/net/decnet
rm -rf /lib/modules/*/kernel/net/econet
rm -rf /lib/modules/*/kernel/net/ipx
rm -rf /lib/modules/*/kernel/net/irda
rm -rf /lib/modules/*/kernel/net/netfilter
rm -rf /lib/modules/*/kernel/net/netrom
rm -rf /lib/modules/*/kernel/net/rds
rm -rf /lib/modules/*/kernel/net/rose
rm -rf /lib/modules/*/kernel/net/sctp
rm -rf /lib/modules/*/kernel/net/tipc
rm -rf /lib/modules/*/kernel/net/{wimax}
rm -rf /lib/modules/*/kernel/net/x25
rm -rf /lib/modules/*/kernel/sound
